package com.database.daos;

import java.io.Serializable;
import java.util.List;

import org.tmatesoft.svn.core.io.SVNRepository;

import com.database.objects.*;
import com.database.objects.Class;

public interface IElementDao extends IGenericDao<Element<?, ?>>, Serializable {

	public Commit getCommitByNumber(Project project, long number);

	public File getPreviousFile(SVNRepository svnRepository, File file);

	public Class getPreviousClass(Class clazz);

	public Method getPreviousMethod(Method method);

	public Issue getIssueByNumber(Project project, Long number);

	public List<Element<?, ?>> findCommitsByDeveloper(Developer developer);

	public List<Element<?, ?>> findIssuesByDeveloper(Developer developer);

	public List<Class> findClassesByDeveloper(Developer developer);

}